The present invention relates to the field of graphical user interface enhancements, and, more specifically, a border menu for context dependent actions within a graphical user interface.
Graphical user interfaces (GUIs) are human-to-machine interfaces that permit users to interact with programs on a computing device via graphical icons and other visual indicators. Interactions with a GUI Actions are able to be performed through direct manipulation of the graphical elements, such as through use of a mouse, trackball, touchpad, touch screen, etc. Design of the visual composition and behavior of a GUI is an important part of successfully designing software applications. GUI design has a goal to enhance user experience through maximizing the efficiency and ease of use of the GUI's underlying logical design. Two models often used to discuss GUI design and to gage its success or failures include Fitt's law and Hick's law.
Fitt's law is a model that predicts that the time required to rapidly move to a target area is a function of the distance to and the size of the target. Larger targets and smaller distances yield better results. More specifically, Fitt's law is used to model the act of pointing, either by physically touching an object with a hand or finger or by pointing to an object using a pointing device (e.g., mouse, trackball, etc.). Hence, quantified numbers for time to an object can be calculated using Fitt's law, which permits different GUI designs to be compared using a uniform metric.
Hick's law describes the time it takes a person to make a decision as a result of a possible set of choices he or she has. By Hick's law, an amount of time taken to process a certain amount of choices is known as the rate of gain of information. Hick's law has a logarithmic form that expresses depth of a choice tree hierarchy. The logarithmic form reflects that people (and GUI interfaces) often subdivide a total collection of choices into categories, which permits an elimination of about half of a set of remaining choices at each step, rather than considering each and every choice one-by-one, requiring linear time. Hick's law can be used to evaluate GUI design decisions, as intelligent subdivisions (such as use of submenus) or other form of category based subdivision of choices can alter human cognition of the choices from linear time to a logarithmic time.
The above principles have been applied in developing a set of known solutions, each having a goal of maximizing user efficiency when interacting with a GUI. These known solutions include linear context menus, a pie menu, a hybrid menu, and a quadrant menu, each having their own advantages and disadvantages.
A linear context menu can be invoked by right clicking after a selection is made of a GUI object. This brings up a menu having a set of choices relevant to the selected object. Choices often include cut, copy, paste, and other context dependent actions. Linear context menus are often presented close to the cursor location, which can be beneficial based on Fitt's law (e.g., minimizing distance to a target). An introduction of submenus can have advantages achieved in accordance with Hick's Law, since the number of items at top-level are reduced. Submenus also introduce an inefficiency in overall performance, as multiple targets are needed to ultimately select from among the available choices.
A pie menu, also referred to as a radial or marking menu, presents menu options within a radial fashion, where multiple radial menus can be cascaded (i.e., submenus can be used). Pie menus can represent an improved efficiency over traditional menus by reducing target distance factor and increasing a target size (per Fitt's law). One potential disadvantage of a pie menu is that first-level menu items are often more suitably presented as icons instead of text, which limits expressiveness. Additionally, both linear context menus and pie menus do not perform well when a number of top-level menu actions increases. For example, both menu types experience substantially degraded performance when top-level menu choices include more than seven items.
A hybrid menu represents a combination of a pie and a linear context menu within a single structure. A hybrid menu can solve limitations of the iconic nature of the pie menu. Implementations that have a linear context menu appear at a fixed location can create a difficulty when top-level pie menu selections change. Additionally, hybrid menus have problems with scalability.
A quadrant menu attempts to address scalability issues and problems with the iconic nature of some menu structures (e.g., the pie menu). A quadrant menu establishes a trigger point location, where the quadrant menu is invoked. From this trigger point, menus can be presented in an upper right quadrant, an upper left quadrant, a lower right quadrant, and a lower left quadrant. This solution often crowds a screen, obscuring other information. Additionally, it suffers from problems when invoked close to a screen edge.